﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AvaProvi
{
    class clsTerreno_CD
    {
        private dsTerreno dsTerreno;
        private dsTerrenoTableAdapters.TerrenoTableAdapter TATerreno;

        public clsTerreno_CD()
        {
            this.dsTerreno = new dsTerreno();
            this.dsTerreno.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
            this.dsTerreno.DataSetName = "dsTerreno";

            this.TATerreno = new AvaProvi.dsTerrenoTableAdapters.TerrenoTableAdapter();
            this.TATerreno.ClearBeforeFill = true;
            //Falta cadena de conexion
        }

        public dsTerreno.TerrenoRow RecuperaTerreno(int IDAvaluo)
        {
            TATerreno.RecuperaTerreno(dsTerreno.Terreno, IDAvaluo);
            foreach (dsTerreno.TerrenoRow filaTerreno in dsTerreno.Terreno)
            {
                return filaTerreno;
            }
            return null;
        }

        public bool CreaTerreno(clsTerreno_CRN objTerreno)
        {
            int RegistrosAfectados = TATerreno.NuevoTerreno(
                objTerreno.Inmueble.Avaluo.IdAvaluo,
                objTerreno.Configuracion,
                objTerreno.Topografia,
                objTerreno.CaracteristicaPanoramica,
                objTerreno.UsoSueloClasificacion,
                objTerreno.UsoSueloTipo,
                objTerreno.UsoSueloSegun,
                objTerreno.DensidadPermitida,
                objTerreno.Servidumbre,
                objTerreno.SeRealizoLevantamiento,
                objTerreno.Justificacion,
                objTerreno.FactorAjuste);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool ModificaTerreno(clsTerreno_CRN objTerreno)
        {
            int RegistrosAfectados = TATerreno.ActualizaTerreno(                
                objTerreno.Configuracion,
                objTerreno.Topografia,
                objTerreno.CaracteristicaPanoramica,
                objTerreno.UsoSueloClasificacion,
                objTerreno.UsoSueloTipo,
                objTerreno.UsoSueloSegun,
                objTerreno.DensidadPermitida,
                objTerreno.Servidumbre,
                objTerreno.SeRealizoLevantamiento,
                objTerreno.FactorAjuste,
                objTerreno.Justificacion,
                objTerreno.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool EliminaTerreno(clsTerreno_CRN objTerreno)
        {
            int RegistrosAfectados = TATerreno.EliminaTerreno(                               
                objTerreno.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }
    }
}
